Modern communication networks are comprised of heterogeneous network devices, the physical hardware connections between these devices, and the software used to send, receive and switch/route data. Driven by the customer demand, the communication network experiences an unprecedented evolution, which encompasses at least three broad aspects. First and most importantly, the size of the communication networks grows as the number of customers grows and sub-networks of various technologies are interfaced to enable communication between customers located in far-apart geographical areas. A second aspect of network evolution is the development of new, more sophisticated services based on bandwidth-hungry and computationally intensive applications, like Voice-over-IP, video application, peer-to-peer applications, VPNs, etc. A third aspect of this evolution is the ever-changing network configuration, as new, better performing technologies and equipment become available to replace the existing equipment, or as the existing equipment is re-located.
In addition, in most cases the network traffic patterns changes radically from the design stage of the network to the deployment stage, so that the routing capacity of certain connections may become quickly outdated, resulting in inefficient utilization of the equipment. The traffic patterns within a communication network not only vary over long time periods (month and year) due to addition of new subscribers or/and services, but also over shorter periods (days) during seasonal events (e.g. shows, sport events), and/or during a 24 hours interval, (e.g. decreasing during night).
To enable handling of this rapid evolution, it is desirable to collect on-line data on network operation parameters, generate from these data statistics on events and conditions that span network elements and sub-networks, and to correlate these events and conditions to obtain a better view of the network operation as a whole. Statistics may be ultimately used, for example, to optimize the relative distribution of traffic loads between selected routes within the network, or to detect defective network devices or groups, or to allow adjustment of alarm limits, detect attacks on the network integrity, etc.
As the network evolves, the nodes increasingly need to calculate many different statistics on potentially thousands of traffic flows, so that statistics processing and maintenance can become a complicated task. Thus, statistics collection and processing involves monitoring various parameters of interest, performing calculations on the collected data to obtain a statistic, storing this statistic in a memory structure, where the data is organized in a meaningful way, such that it can be readily updated, retrieved and analyzed. Each time a particular statistic needs to be updated in the memory, the current stored value must be read, the modification to the value made, and the resulting value stored back into the memory. Statistics collection, processing and maintenance can consume significant processing capacity and system backplane bandwidth, both of which must be used judiciously in any system.
In the meantime, integrated circuit technology and semiconductor processing continue to advance, so that the integrated circuits have progressively become smaller and denser, while their processing and/or storage capacity increased importantly. Additional processing capacity becomes available with the implementation of complex hardware devices such as field programmable gate arrays (FPGA) for lower level data processing and general purpose processors (GPP) for higher layer processing. Network processors (NP) were developed lately; a NP is an application-specific instruction processor programmed for a specific network application (e.g. ATM cell processors, IP packet processors, etc.).
Still, if statistics processing is performed by a traffic NP, it may reduce the efficiency with which the processor performs the functionality it is designed for, namely carrying traffic across the network. In addition, in many cases there is little or no free card space around a traffic NP for the statistics processing circuitry, particularly for the memory circuitry necessary for maintaining the statistics.
Dedicated statistics processing device are now designed with a view to collect, process and store the statistical data from a number of sources, in order to ease the task of the respective traffic NPs. If a statistics processing device collects statistical data from off-board sources, this action uses backplane bandwidth that may have been otherwise used for executing the application itself. It is therefore advantageous to provide an on-board statistics processing device that uses data from on-board traffic NPs, with a view to eliminate statistics calculation backplane traffic.
For example, U.S. Pat. No. 6,460,101 entitled “Method and Apparatus for Statistical Compilation” (Hanes et al.), issued on Dec. 5, 2002 and assigned to Alcatel, Inc. and a division of this patent, namely U.S. patent application Ser. No. 10/201,766 describe a statistical device that uses a memory comprising multiple memory banks for storing statistics. The statistics device “partitions” statistical data pertaining to a network parameter under consideration, and stores the part in a plurality of memory banks to improve performance by overcoming memory read/write contentions. In this manner, a statistic may be modified by adding/subtracting to the part of the statistic in a memory bank, thereby increasing the rate at which modifications can be made. When a statistic needs to be retrieved, each part is read from the respective bank, and the parts are summed to assembly the statistic. The subject matter of U.S. Pat. No. 6,460,101 and of U.S. patent application Ser. No. 10/201,766 are incorporated herein by reference.
However, it is still desirable to provide additional functionality to such a statistics processing device, for making it more suitable for rapid processing of heterogeneous statistics data, received in various formats from various statistics collecting points in a communication network.